#ifndef TRACK_ID_DATA_INTEGRATED_H
#define TRACK_ID_DATA_INTEGRATED_H

/*****************************************************************************************
  @copyright 2020-2021
  @author    qiaowei
  @contact   weiweiqiao@126.com
  @version   1.0
  @date      2021-02-09
  @brief     数据类，通过QMap保存AirNet自动化系统的“sysRecv 1 process”类型数据
  @history   None
******************************************************************************************/

#include <QObject>

class Track_id_data_integrated : public QObject
{
    Q_OBJECT

public:
    explicit Track_id_data_integrated(QString track_data, QObject *parent = nullptr);
    ~Track_id_data_integrated();

    /***************************************************************************
     @author   qiaowei
     @contact  weiweiqiao@126.com
     @version  1.0
     @date     2021-02-09
     @brief    拷贝构造函数
    ***************************************************************************/
    explicit Track_id_data_integrated(const Track_id_data_integrated& rvalue);

    /***************************************************************************
     @author   qiaowei
     @contact  weiweiqiao@126.com
     @version  1.0
     @date     2021-02-09
     @brief    赋值操作符
    ***************************************************************************/
    Track_id_data_integrated& operator =(const Track_id_data_integrated& rvalue);

    /***************************************************************************
     @author   qiaowei
     @contact  weiweiqiao@126.com
     @version  1.0
     @date     2021-02-09
     @brief    获取track_id数据
     @return   QMap类型，处理后的键值对都是QString类型进行保存
    ***************************************************************************/
    QMap<QString, QString>* get_track_data();

private:
    /***************************************************************************
     @author   qiaowei
     @contact  weiweiqiao@126.com
     @version  1.0
     @date     2021-02-10
     @brief    根据传入的track_id数据，将其分解整理，保存到track_data_map_中保存，随后
               通过信号槽sig_integred_data发射
    ***************************************************************************/
    void setup_track_data(QString content);

private:
    QMap<QString, QString>* track_data_map_;

    QString track_data_;
};

#endif // TRACK_ID_DATA_INTEGRATED_H
